87 research outputs found
Idempotent I/O for safe time travel
Debuggers for logic programming languages have traditionally had a capability
most other debuggers did not: the ability to jump back to a previous state of
the program, effectively travelling back in time in the history of the
computation. This ``retry'' capability is very useful, allowing programmers to
examine in detail a part of the computation that they previously stepped over.
Unfortunately, it also creates a problem: while the debugger may be able to
restore the previous values of variables, it cannot restore the part of the
program's state that is affected by I/O operations. If the part of the
computation being jumped back over performs I/O, then the program will perform
these I/O operations twice, which will result in unwanted effects ranging from
the benign (e.g. output appearing twice) to the fatal (e.g. trying to close an
already closed file). We present a simple mechanism for ensuring that every I/O
action called for by the program is executed at most once, even if the
programmer asks the debugger to travel back in time from after the action to
before the action. The overhead of this mechanism is low enough and can be
controlled well enough to make it practical to use it to debug computations
that do significant amounts of I/O.Comment: In M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth
International Workshop on Automated Debugging (AADEBUG 2003), September 2003,
Ghent. cs.SE/030902
Separation of soft and collinear infrared limits of QCD squared matrix elements
We present a simple way of separating the overlap between the soft and
collinear factorization formulae of QCD squared matrix elements. We check its
validity explicitly for single and double unresolved emissions of tree-level
processes. The new method makes possible the definition of helicity-dependent
subtraction terms for regularizing the real contributions in computing
radiative corrections to QCD jet cross sections. This implies application of
Monte Carlo helicity summation in computing higher order corrections.Comment: 14 pages, 1 figure, references adde
Region-based memory management for Mercury programs
Region-based memory management (RBMM) is a form of compile time memory
management, well-known from the functional programming world. In this paper we
describe our work on implementing RBMM for the logic programming language
Mercury. One interesting point about Mercury is that it is designed with strong
type, mode, and determinism systems. These systems not only provide Mercury
programmers with several direct software engineering benefits, such as
self-documenting code and clear program logic, but also give language
implementors a large amount of information that is useful for program analyses.
In this work, we make use of this information to develop program analyses that
determine the distribution of data into regions and transform Mercury programs
by inserting into them the necessary region operations. We prove the
correctness of our program analyses and transformation. To execute the
annotated programs, we have implemented runtime support that tackles the two
main challenges posed by backtracking. First, backtracking can require regions
removed during forward execution to be "resurrected"; and second, any memory
allocated during a computation that has been backtracked over must be recovered
promptly and without waiting for the regions involved to come to the end of
their life. We describe in detail our solution of both these problems. We study
in detail how our RBMM system performs on a selection of benchmark programs,
including some well-known difficult cases for RBMM. Even with these difficult
cases, our RBMM-enabled Mercury system obtains clearly faster runtimes for 15
out of 18 benchmarks compared to the base Mercury system with its Boehm runtime
garbage collector, with an average runtime speedup of 24%, and an average
reduction in memory requirements of 95%. In fact, our system achieves optimal
memory consumption in some programs.Comment: 74 pages, 23 figures, 11 tables. A shorter version of this paper,
without proofs, is to appear in the journal Theory and Practice of Logic
Programming (TPLP
A fenntarthatóság mérése az erdÅ‘gazdaságban
A fenntarthatóság mérése, de definiálása is nehézkes a jövÅ‘re vonatkozó feltételezések bizonytalansága miatt. Korlátozott következtetések vonhatók le pl. a „kereslet és kÃnálat†összehasonlÃtásának elvén alapuló, egyre közismertebb ökológiai lábnyomból, vagy más, a fenntarthatóság bizonyos aspektusait részletesebben jellemzÅ‘ indikátorok tényleges értékeinek és az elÅ‘re elvárt értékek összevetésébÅ‘l. Ilyen, fejlÅ‘dÅ‘, korlátozott lehetÅ‘ségeket nyújtó indikátorrendszer jött létre az erdÅ‘gazdálkodásban. A rendszer használatát nagymértékben korlátozza, hogy megalapozatlan az, hogy hány, illetve mennyire specifikus vagy mennyire aggregált indikátorokat alkalmaznak, és hogy az indikátorok mért értékeit hogyan értelmezik. Emiatt az indikátorértékek értelmezésében még az olyan nemzetközi szervezetek is alapvetÅ‘ hibákat követnek el, mint a FAO. A tanulmány a fentieket több olyan példával is illusztrálja, amelyeket a fenntarthatóságban évszázadok óta élenjáró ágazatból, az erdÅ‘gazdálkodásból vettünk. Az ágazatból származó „jó†példával – egy bioindikátorral – mutatjuk meg ugyanakkor, hogy lehet megfelelÅ‘ aggregált mutatókat találni. A fenntarthatósági mutatók értelmezéséhez szükséges azonban, hogy pontosan ismerjék ezeknek a mutatóknak a viselkedését, és hogy definiálni tudják, hogy – idÅ‘ben változó módon – milyen tartományon belül vélelmezhetÅ‘ a fenntarthatóság. Az, hogy mi számÃt „jó†és „rossz†irányú változásnak, minden mutató esetében a vizsgált rendszer (pl. az erdÅ‘k, ill. az erdÅ‘gazdálkodás) elemzésétÅ‘l, illetve a rendszer megértésének szÃnvonalától függ (pl. az erdei ökoszisztémák működését még kevéssé értjük). Az eredményesen alkalmazható operatÃv indikátorrendszernek megfogalmazhatók a kritériumai, de az is lehet, hogy esetenként azzal juthatnak elÅ‘bbre, ha a fejlÅ‘désre ugyanúgy tekintenek, mint ahogyan saját testének jelzéseire figyel egy beteg, de okos ember. ------------------------------------------------------- The insecurities in assumptions about the future make it difficult to measure and define sustainability. Only limited conclusions can be derived from the “ecological footprintâ€, an ever spreading concept based on comparing “demand†and “offerâ€, or from comparing the actual value of other indicators representing more detailed aspects of sustainability with the expected values. Such a system of indicators has bee developed for forestry applications – the indicators used are still in development and the system offers limited possibilities. A major limitation stems from the fact that the number and the degree of specificity of indicators to be used are not well established, and neither is the interpretation of actual indicator values. As a result, even international organisations such as the FAO make errors in interpreting indicator values. The paper brings various examples to illustrate these points, taken from a centuries-old sector which is at the forefront of sustainability: forest management. A good example taken from forestry – a bioindicator – is used to demonstrate that it is possible to fid suitable aggregated indicators. To interpret sustainability indicators correctly, however, one needs to be aware of howsuch indicators behave exactly. This allows one to define the valid range of sustainability, as it changes with time. The judgement of whether a change is ‘positive’ or ‘negative’ always depends on an analysis of the system in question (e.g. forests and forestry), as well as our level of understanding of the system (e.g. we only have a basic understanding of how forest ecosystems work). It is possible to draw up criteria applicable to effective operative indicators. Sometimes, however, in order to progress, perhaps one should act similar to an ill, but wise man, who listens to the messages of his own body.fenntartható fejlÅ‘dés, erdÅ‘gazdálkodás, fenntarthatósági indikátor, bioindikátor, sustainable development, forest management, sustainability indicator, bioindicator, Crop Production/Industries, Environmental Economics and Policy,
Integration of collinear-type doubly unresolved counterterms in NNLO jet cross sections
In the context of a subtraction method for jet cross sections at NNLO
accuracy in the strong coupling, we perform the integration over the
two-particle factorised phase space of the collinear-type contributions to the
doubly unresolved counterterms. We present the final result as a convolution in
colour space of the Born cross section and of an insertion operator, which is
written in terms of master integrals that we expand in the dimensional
regularisation parameter.Comment: 47 page
Minimizing the overheads of dependent {AND}-parallelism
Parallel implementations of programming languages need to control synchronization overheads. Synchronization is essential for ensuring the correctness of parallel code, yet it adds overheads that aren\u27t present in sequential programs. This is an important problem for parallel logic programming systems, because almost every action in such programs requires accessing variables, and the traditional approach of adding synchronization code to all such accesses is so prohibitively expensive that a parallel version of the program may run more slowly on four processors than a sequential version would run on one processor. We present a program transformation for implementing dependent AND-parallelism in logic programming languages that uses mode information to add synchronization code only to the variable accesses that actually need it
Automatic reordering for dataflow safety of Datalog
Clauses and subgoals in a Datalog program can be given in any order without affecting program meaning. However, practical applications of the language require the use of built-in or external predicates with particular dataflow requirements. These can be expressed as input or output modes on arguments. We describe a static analysis of moding for Datalog which can transform an ill-moded program into a well-moded program by reordering clause subgoals, satisfying dataflow requirements. We describe an incremental algorithm which efficiently finds a reordering if it exists. This frees the programmer to focus on the declarative specification of their program rather than on the implementation details of external predicates. We prove that our computed reorderings yield well-moded programs (soundness) and that if a program can be made well-moded, we compute a reordering to do so (completeness).This work was supported by the EPSRC [grant number EP/M026124/1
Precise determination of from a global fit of energy-energy correlation to NNLO+NNLL predictions
We present a comparison of the computation of energy-energy correlation in
collisions in the back-to-back region at next-to-next-to-leading
logarithmic accuracy matched with the next-to-next-to-leading order
perturbative prediction to LEP, PEP, PETRA, SLC and TRISTAN data. With these
predictions we perform an extraction of the strong coupling constant taking
into account non-perturbative effects modelled with Monte Carlo event
generators. The final result at NNLO+NNLL precision is
.Comment: 35 pages, 10 figures, 2 table
- …